import axios from "axios";
import { ElMessage } from "element-plus";
import router from "@/router";
//自定义一个axios实例，名称为request。
// 其中设置了baseURL为/api，
// 那么使用request发送的所有请求路径都会自动加上前缀/api
const request = axios.create({
    baseURL: "/api",
    timeout: 60000
});
 
request.interceptors.request.use(function(config){
    const loginInfoStr =localStorage.getItem('loginInfo');
    if(loginInfoStr ){
        const loginInfo =JSON.parse(loginInfoStr);
        config.headers.token = loginInfo.token;
    }
    return config;
},function(error){
    return Promise.reject(error);
})
request.interceptors.response.use((response)=>{
    return response.data;
},(error)=>{
    if(error.response.status==401){
        ElMessage.error("登录失败，请重新登录");
        router.push('/login');
    }
    return Promise.reject(error);
});


//在使用axios发送请求、得到响应之后，
// 可以对response做一些预处理。我们将会得到预处理之后的结果

export default request;